matplotlib[05]——微信好友的全国分布的热图

摘要

看到朋友圈 “一件有趣的事: 爬了爬自己的微信朋友 ”,看完以后觉得里面缺少了一张中国热图。
您的微信朋友遍布全中国了吗?一张热图告诉你。

主要工具

  • 安装itchat
    ‘’’
    python -m pip install itchat
    ‘’’
  • Excel模板-中国地图填色图.xls

    1
    链接:https://pan.baidu.com/s/1nwjTW2P 密码:zgik
  • 中国的省份 pro_list.txt

    1
    链接:https://pan.baidu.com/s/1brg0MIz 密码:selo
  • 脚本 chinamap.py

    1
    链接:https://pan.baidu.com/s/1mjAuym8 密码:wjrs

主要代码

使用不到20行的代码chinamap.py统计您的微信朋友在各个省份的分布。最后输出文件保存在pro_no.txt。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!python2
#coding:utf-8
import itchat
from collections import Counter
from pprint import pprint
itchat.auto_login(hotReload=True)
friends = itchat.get_friends(update=True)[0:]

provinces=[] # #获取 所有好友的省份信息
for friend in friends:
provinces.append(friend['Province'])

province_d=Counter(provinces) ##利用自带的Counter,统计省份出现的次数

pro_list =[ i.strip() for i in open("pro_list.txt").readlines()]
fh=open("pro_no.txt",'w')
for pro in pro_list:
pro = pro.decode('utf8')
num= province_d[pro] if pro in province_d.keys() else 0
fh.write(str(num)+"\n")

运行

  1. 把pro_no.txt 和 chinamap.py放到同一个目录下面
  2. 命令行中 python chinamap.py ,就可以生成结果文件pro_no.txt

制作热图

  1. 打开填色图.xls
  2. 把pro_no.txt 中的结果粘贴过来。
  3. 确定热图的颜色,可以使用默认的。
  4. 修改每个颜色对应的范围a-b
  5. 填写范围的底限a
  6. 点击按钮开始填色。

效果图

我在贵州、海南、宁夏、青海、西藏还没有朋友了。这里的朋友去哪里了,快到后台留言。

总结

多条朋友多条路。您的朋友遍布天下了吗? 如需帮助,后台留言帮忙制作您的朋友全国热图分布。